#ifndef FITNESS_H
#define FITNESS_H

#include <stdlib.h>

//literature standard fitnesses
float onemax(int *x, int generation, long n);
float quadratic(int *x, int gen, long n);
float f3deceptive(int *x, int gen, long n);
float trap5(int *x, int gen, long n);
float f3deceptiveBipolar(int *x, int gen, long n);
float f3deceptiveOverlapping(int *x, int gen, long n);
float fdeception(int* chromossome, int generation, long array_size);
float trap5_cyclic(int *x, int gen, long n);
float password2(int* x, int gen, long array_size);

//non standard fitnesses
float test(int* chromossome, int generation, long array_size);

//auxiliary functions
float ftrap(int number_of_1s, int function_trap_size);

#endif
